#!/bin/bash
:<<EOF
重签名

注意：
旧版本apk、和签名文件需要和脚本放到同一目录
修改脚本文件中的appid等配置

EOF

# 使用方法 ./reload_sign.sh 签名文件 签名别名

# jarsigner -verbose -keystore 签名文件 -signedjar 签名后的apk 未签名.apk 签名别名 -digestalg SHA1 -sigalg MD5withRSA

echo "----------使用方法--------------"
echo " 旧版本apk、和签名文件需要和脚本放到同一目录"
echo " 修改脚本文件中的appid等配置"
echo " 运行脚本：./reload_sign.sh ReloadSign key0"
echo "---------------------------"

appid="appid"
ip="192.168.31.220"
port="443"
ssl="false"

paramCount=$#
if [ $paramCount -ne 2 ]
then
    echo "请输入正确的参数如：${0} 签名文件 签名文件别名" && exit
fi

sign_name=${1}
sign_alias=${2}

cp ./app-release.apk ./old.zip
unzip -n -d ./old ./old.zip

sign_folder_path="./old/META-INF/"
if [ -e $sign_folder_path ]
then
    rm -rf $sign_folder_path && echo "删除旧版本签名文件"
fi

# 修改配置文件json内容
sed -i '' 's/\("APP_ID": "\).*/\1'"$appid"'",/g' ./old/assets/config.json
sed -i '' 's/\("HOST": "\).*/\1'"$ip"'",/g' ./old/assets/config.json
sed -i '' 's/\("PORT": "\).*/\1'"$port"'",/g' ./old/assets/config.json
sed -i '' 's/\("SSL": "\).*/\1'"$ssl"'",/g' ./old/assets/config.json

echo "修改json配置文件完成"

cd ./old/
zip -r unsign.apk ./
cp ./unsign.apk ../unsign.apk
cd ..
rm -rf old*

# 签名
#jarsigner -verbose -keystore ./ReloadSign -signedjar new-release.apk unsign.apk key0 -digestalg SHA1 -sigalg MD5withRSA
jarsigner -verbose -keystore $sign_name -signedjar new-release.apk unsign.apk $sign_alias -digestalg SHA1 -sigalg MD5withRSA

echo "签名完成" && rm unsign.apk

